package moonlit.chill.pay.vo;

import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;

/**
 * @author MoonlitChill
 * @date 2024/4/15 11:13
 */
@Data
public class TradeParam {

    /** 支付方式  取常量*/
    @NotEmpty(message = "支付方式不能为空")
    private String payType;

    /** 支付渠道 取常量*/
    @NotEmpty(message = "支付渠道不能为空")
    private String payChannel;

    /** 总金额 */
    private BigDecimal totalFee;

    /** 支付截止时间 */
    private Date payDeadLine;

    /** 退款金额 */
    private BigDecimal refundFee;

    /** 付款码 */
    private String authCode;

    /** 交易号 */
    private String transNum;

    /** 用户小程序Id */
    private String miniOpenId;

    @NotEmpty(message = "支付title不能为空")
    private String payTitle;

    private String refundNo;

    /** 附加信息 */
    private Map<String, String> additionalInfo;

    /** 异步查询规则 */
    private PaySearchParam searchParam;
}
